home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / libogg / libvorbis-1.0rc3 / lib / barkmel.c < prev    next >
Encoding:
C/C++ Source or Header  |  2002-10-27  |  2.3 KB  |  65 lines

  1. /********************************************************************
  2.  *                                                                  *
  3.  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
  4.  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
  5.  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  6.  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  7.  *                                                                  *
  8.  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
  9.  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  10.  *                                                                  *
  11.  ********************************************************************
  12.  
  13.  function: bark scale utility
  14.  last mod: $Id: barkmel.c,v 1.9 2001/12/20 01:00:26 segher Exp $
  15.  
  16.  ********************************************************************/
  17.  
  18. #include <stdio.h>
  19. #include "scales.h"
  20. int main(){
  21.   int i;
  22.   double rate;
  23.   for(i=64;i<32000;i*=2){
  24.     rate=48000.f;
  25.     fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
  26.         rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
  27.  
  28.     rate=44100.f;
  29.     fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
  30.         rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
  31.  
  32.     rate=32000.f;
  33.     fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
  34.         rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
  35.  
  36.     rate=22050.f;
  37.     fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
  38.         rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
  39.  
  40.     rate=16000.f;
  41.     fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
  42.         rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
  43.  
  44.     rate=11025.f;
  45.     fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n",
  46.         rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
  47.  
  48.     rate=8000.f;
  49.     fprintf(stderr,"rate=%gHz, block=%d, f(1)=%.2gHz bark(1)=%.2g (of %.2g)\n\n",
  50.         rate,i,rate/2 / (i/2),toBARK(rate/2 /(i/2)),toBARK(rate/2));
  51.  
  52.  
  53.   }
  54.   {
  55.     float i;
  56.     int j;
  57.     for(i=0.,j=0;i<28;i+=1,j++){
  58.       fprintf(stderr,"(%d) bark=%f %gHz (%d of 128)\n",
  59.           j,i,fromBARK(i),(int)(fromBARK(i)/22050.*128.));
  60.     }
  61.   }
  62.   return(0);
  63. }
  64.  
  65.